home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
551-575
/
disk_565
/
sysinfo
/
sysinfo.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
33KB
|
658 lines
SysInfo V2.50 21st Oct 1991
---------------------------
written in Assembler with Devpac Amiga
--------------------------------------
Written by Nic Wilson
Nic Wilson Software
138d South Street
Toowoomba Queensland 4350
Phone (076) 358539 A/H Voice only
(076) 358384 W/H Fax or voice
(076) 358522 W/H Voice only
EMAIL {cbmvax|cbmehq}!cbmaus!wilson!nic@uunet.uu.net
This program was written due to the lack of such a program
on the Amiga. It was written using HiSoft Devpac Assembler.
I have placed this program on Shareware so that it can be
used by everyone. All code, graphics and documents remain
copyright Nic Wilson Software.
If you like this program, then help me to help you more by
sending a small donation. Any amount will be gratefully
appreciated and in return you will be sent the latest of
this and other programs.
*********************************
IMPORTANT FOR KICKSTART 1.2 - 1.3
*********************************
Amigas that have a maths co-processor using kickstart 1.3 or
earlier, MUST use SetPatch 1.34 or later otherwise this program
will crash. This program uses 68881 & 68882 instructions and a
bug in the kernal causes a guru. SetPatch patches this bug.
This is not required for V2.0 users but remember that you have
a Setpatch also now, so use it.
DISTRIBUTION CONDITIONS
-----------------------
This program may be distributed freely on the condition that
no profit is gained from its distribution. An amount of the
average retail price of a single 3.5 inch DSDD disk is allowed for
a copying fee.
Output results from the program may be reprinted without any
form of permission. But please state the SysInfo Version number
used to obtain the results & give credit to the author.
This doc file and the icons must accompany the program unmodified.
Additional doc files of your own may accompany the program.
Results from different Amiga configurations may be distributed
along with the SysInfo files.
The executable is not modified in any way, except for crunching,
or lharc'ing etc.
Further updated versions are distributed as available and as soon
as possible. You can always obtain an update by modem if you wish.
COMMERCIAL COMPANIES
--------------------
I would appreciate being informed that you are distributing it
although this is not a requirement.
If a commercial company would like all their products listed by
name and manufacturer in the 'BOARDS' function, then send me your
manufacturer number and your product numbers for each board along
with a description of what each board is, and I will add them in
to the program. We will then return you a copy of the program
with these changes, that you can distribute with your products.
To have your hard disk recognised as a hard disk instead of an
'other drive', all I need is the name of your device driver.
INTRODUCTION
------------
Sysinfo is an Amiga Sytem Information program. It interrogates
the Amiga and determines types of hardware, software, modes,
speed etc. Users have found it very useful for determining
correct operation of an Amiga before purchase and that the
unit actually contains hardware that they are paying for, without
having to open it up. It is under constant revision, and these
revisions are available from myself at any time. My goal is to
make SysInfo the most informative and accurate information program
on the Amiga. To do this I need your input and suggestions.
This program is tested with the program 'Enforcer'.
Please be patient if you are running SysInfo on a standard
Amiga as it will take a while to perform its tests. SysInfo
really interrogates your system and has to perform many timing
loops to test ram speed, type etc. Some other program sacrifice
accuracy by speeding the tests up, SysInfo takes time but does
an intensive test. At times it also disables multitasking and may
blank the mouse pointer. It will return to multitasking when
finished and the mouse pointer will return.
HISTORY (MOST RECENT FIRST)
---------------------------
V2.51 Fixed a bug in NTSC Amiga. Very sorry you guys and gals but all
Amiga's in Australia are PAL and I never tested the NTSC
routines. SysInfo was reporting NTSC 2MB Agnus as a 1MB Agnus.
This was a silly mistake on my part and is now fixed.
V2.50 Rearranged the screen to delete obsolete functions. XT/AT test
and total autoconfig boards are gone as they are now handled
in the 'boards' gadget function. Hardware Clock has been moved
to the Memory Area to create room. CIA Test and comment fields
have been moved to this newly created area, allowing for more
fields that are speed orientated. Due to popular demand the
IBM comparison is now back, and a new CPU MIPS and FPU MFLOPS
fields. See the main docs below for more info on these.
V2.41 Fixed a major bug in the instruction and data cache code for
68020, 030 & 040 processors. If caches and bursts were off
when sysinfo launched it could leave them on after exit.
The MHZ speed could incorrect if caches and bursts were off.
This is now fixed and all are reset to their original condition
immediately after the MHZ test.
Fixed a bug in the drives function that was crashing some 16 bit
Amigas. I accidentally left a half finished new routine in the
drive type field. This was a mistake on my part and has now been
removed.
The mouse is now ALWAYS be blanked while frozen, and will now
immediately return when unfrozen without requiring movement.
The new autoconfig recognition feature has become quite
interesting. Some users have told me it was recognising some
boards as the wrong brand etc. It has turned out that some
boards around seem to be using 'stolen' autoconfig roms. I don't
suppose they knew SysInfo would come along and find them out. I
suggest that manufacturers use SysInfo to find out if a particular
rom on a particular card needs further investigation.
V2.40 New revolutional function added. Within the 'Drives' function
window is a new gadget called 'SCSI'. This displays info as
supplied from the drive itself. It displays the actual drive
size in Megabytes. This allows comparison of the real size and
the size it is formatted too, or the size you believe it was.
This may not work at all for some brands as they do not support
the required comands, see 'SCSI' under the 'DRIVES' function.
Fixed a bug that would leave multitasking off if no hardware
clock was found.
On processors 68010 and higher, the program would hang if the
VBR register was non zero. This is now fixed
On 68010 processors the printing function would guru after a
few lines, I beleive this is fixed but not tested. Please
let me know if there is further probs.
V2.39 Changed the MMU testing routine to attempt to overcome problems
on some boards.
Changed the memory size in the memory function to reflect Meg
size instead of 'K'.
Fixed the GVP Hard Disk being seen as Memory Board.
Fixed a bug that crept in the last version. An Amiga with no
true fast ram would lock up on the speed test. This is now fixed.
V2.38 Fixed the check for Phoenix manufacturer in boards function.
The A2500 and B2000 strings were reversed in the printing
function, now fixed.
V2.37 I think I finally fixed the bug that caused the program to sometimes
hang while printing if launched from the CLI.
The change to the program made in 2.35 caused the speed results
to be skipped if printing from inside the program, this is now fixed.
Some tidying up of the main image was also done.
V2.36 Since going to the new VBLANK timing routine, I neglected
to allow for NTSC 60hz timing, so the results were
inaccurate. Both PAL and NTSC timing are once again
catered for. Addition of SupraRAM and WordSync card
recognition in the boards function (Thanx to Matt)
V2.35 Sysinfo no longer performs the speed tests immediately. Now
that there are multiple gadgets, you had to wait for the
speed loops to finish before they could be accessed. The
'AGAIN' gadget is now called 'SPEED', select this gadget to
perform the speed loops. It still acts as before and will
do the speed tests as many times as you wish. See 'SPEED'
under 'FROM WORKBENCH' for more info.
V2.34 Added new 'MEMORY' function gadget. This new function gives
much more info about RAM in the system.
V2.33 Added ability for new 'BOARDS' function to recognise certain
autoconfig boards by manufacturer name and model. This info
must be known by the program. If unknown it will give the
numbers, call me and tell me the numbers and what the card
is and I will add it in to the program. The more I get the
more intelligent the program will become for all users.
The HARD PARTITIONS count in the main window will now only
count known hard drives. Any unknown ones will show in the
OTHERS area. If your hard drive shows as an other, call me
and tell me the name of your device driver and I will add
it in to the program.
Changed the speed comparison calculation for 68000 processors
to allow for no FAST RAM. Results should be more accurate.
V2.32 Addition of new 'Boards' function that gives info on
AutoConfig boards found in the system.
Moved stuff around in main window to make way for more gadgets
to do more beaut stuff.
Owners of Amiga's with 020 or 030's may notice that their FAST
RAM vs CHIP percentage has increased over previous versions.
This is because I quad aligned the memory test area, allowing
a 32 bit processor to access 32 bit ram faster.
Changed the Timer routine again to use a VBLANK interuppt
server, this should improve stability even further. It has
improved accuracy of the 500/2000 hardware clock test.
Added an optional heading string to the PRINT routine.
The A3000/040 and A3000/030 strings were backwards in the
print routine. This has now been corrected.
By popular demand I added a form feed at the end of printing
V2.31 Addition of new CIA timer speed accuracy test. SEE CIA TIMER
TEST.
V2.30 Addition of a new 'Drives' function. See 'DRIVES GADGET' below.
Addition of new output window for the print routine, to allow
saving of output to a filename or printer etc. See 'PRINT' below
V2.22/3 Changed the timer routine to use direct hardware instead of
calling DOS this should give much more stability.
Using direct hardware is frowned upon, but I doubt if the
the CIA's will ever move from their current location, and I
couldn't seem to find a better way to do it.
V2.21 Added the ability to recognise a 68881 added via MathIEEE.resource
The only one I know of is the Phoenix A1000 replacement
motherboard, it allows the addition of a 68881.
Added kickstart size to the 'KICKSTART VERSION' string.
V2.20 Fixed a hanging Forbid if run on an A3000.
Fixed a intermittent bug that caused some programs to 'hang'
if SysInfo was launched from the CLI.
Fixed small amount (26k) of 16 bit memory showing when no 16
bit memory was installed.
V2.15 Code optimisations & improvements since updates below.
Greatly improved execution speed on non-32 bit processors.
Added the ability to differentiate between 1MB and 2MB Agnus.
V2.14 A2620 boards with 32 bit wide ram, still intermittently being
seen as 16 bit cards. Fine tuned routine still further.
V2.13 The program no longer reflects the Exec.library CPU and FPU type, it
tests for 68030, 68040, 68882 itself and changes the Exec
AttnFlags accordingly if incorrect.
Agnus "mode" had been removed, and the DISPLAY field now reflects
wether Agnus is PAL or NTSC, rather than Intuition's mode.
The MHZ display now does an educated calculation of the actual
clock speed based on test results to try and make the display
more accurate.
V2.12 GVP 32 bit ram boards in the $200000+ range were still being
seen as 16 bit boards, fine tuning of the testing routine seems
to have cured this slight problem.
GVP timings were made more accurate. Maximum memory could also
return invalid results if you had ram boards in the $200000 area.
V2.11 Fast memory free was slightly inaccurate in V2.10, now fixed.
Added Memory Address location of Kickstart.
V2.10 By popular demand printing ability during screen display or
instead of (-p). Better 32 bit ram testing with support for
recognising and displaying 32 bit ram boards within the 8 meg
area ($200000-$A00000).
V2.01 Added ability to recognise 32 bit ram and is displayed in
all areas if found.
V2.00 Fixed 2 'enforcer' hits. Although enforcer hits will still
occur at memory location $2c. This vector is temporarily modified
in order to trap the exception when testing for a MMU.
V1.99 Included the clock check for the A3000.
V1.98 RAMSPEED VS CHIP was incorrect and could give wrong results.
CHIPRAM VS A3000 was totally wrong and and results were garbage.
Both these new routines should be much better.
USAGE
-----
FROM CLI
--------
run SysInfo <switch>
<switch> -p Print info to standard redirection output
instead of custom screen.
EG. SysInfo >prt: -p (for printer)
SysInfo -p (for CLI window)
-t Mainly for internal, time testing use.
See 'NOTE ON SPEED COMPARISONS' below.
The custom screen will still open to keep
the timing accurate, but no information will
be printed to it. On completion the screen
will close and the information printed on the
CLI window or redirected output.
NOTE 'run' should always be used from a CLI launch as the program
is much more stable and accurate. I have no idea why, it
just is. Anyone explain this?
FROM WORKBENCH
--------------
Double click the SysInfo icon. After the speed comparisons are
complete, you will be able to access one of four gadgets in the
bottom right of the window. These are QUIT, DRIVES AGAIN or PRINT.
QUIT Does just that, exits the program completely.
MEMORY Is explained below
BOARDS Is explained below.
DRIVES Is explained below.
SPEED Runs the speed comparisons and displays the result accordingly.
This can be selected as may times as you wish so the results
can be averaged. This now works differently than older versions
of SysInfo. Users of standard speed Amiga's had to wait quit
a long time before the other gadgets could be accessed. This was
a nuisance if you only required certain info. This change has
not affected the -p function in anyway.
PRINT Will open a window and prompt for a filename and an optional
heading string, This heading string will be printed at the
top of the page and can have a maximum of 100 characters.
Enter a path and filename to save to, or to choose the default
'PRT:' for output to a printer just click the 'OK' gadget.
Printing will commence after the 'OK' gadget is clicked.
DRIVES GADGET
-------------
When this gadget is clicked another window will open and display
a gadget for each floppy, hard or rad drive you have connected
to your Amiga. In the middle of the window you will see Information
on the paticular drive that has its gadget highlighted. To select
a particular drive, just click on its gadget. To re-read the same
drive, click in its gadget again (useful for rereading a floppy
when the disk has been changed).
SCSI GADGET
-----------
NOTE This function may not work on some brands device
---- drivers as they may not support the required
commands. If this happens you may just see an
error message in the window for each device it
found that failed to respond to the direct scsi
command. Each device's unit number will still be
displayed at the start of each error string under
the 'ID' heading. In this case contact the
manufacturer of your hard disk controller and
enquire if they have an update that supports CBM's
'HD_SCSICMD' command and RigidDiskBlock structure.
This gadget will be ghosted for drives that are obviously not
SCSI drives. The SCSI function will display info on all drives
that are operated through a single device driver, do there is
no need to click the SCSI gadget for all drives, unless some
use a different device driver name as shown in the 'drives window'.
Select one of the drives and click the SCSI gadget. A new window
will open an attempt to read all SCSI drives on LUN (Logical Unit
Number) zero. If valid drive is found, various information will be
displayed. This information consists of the drive 'ID', its 'TYPE',
the 'MANUFACTURER', 'MODEL', and 'VERSION'. Also displayed is the
number of blocks the drive has. The drive's ACTUAL size is displayed
and if the drive supports CBM's RigidDiskBlock, the formatted size
is also displayed beside the actual size. This allows you to see
if a larger drive than you thought you had is in the computer. I
have seen some A2500's with a formatted size of 40MB that actually
had QUANTUM 52 Meg hard drive. If your drive's supplier has
not followed CBM's RigidDiskBlock then the formatted size will not
be displayed, but most user already know the size they beleive is
in the system. If these sizes are different then your hard drive
will require reformatting correctly. If the 'ACTUAL' size is smaller
than your formatted size then you will eventually have problems so
your drive will still need formatting correctly.
BOARDS GADGET
-------------
When this gadget is clicked another window will open and display
various information on any AutoConfig boards found in the
system. This information consists of the memory address of where
the board was configured, its size, and the type of board. The
types to date, can be ZORRO II or ZORRO III, any others are
not yet defined by Commodore and will be displayed as UNDEFINED.
The boards Product number, manufactures ID and the serial
number will also be displayed. If SysInfo recognises the
manufacturer of the card and or the product itself it will display
the names instead of the numbers. Note that a standard A3000 has
no AutoConfigure boards as such, its extra hardware is known
by the special Kickstart files and its memory and hard drive are
not AutoConfig. A2000 users using zkick to load V2.0 will also
notice that their memory boards will not show in the AutoConfig
list, as they were actually configured by 1.3 and zkick patches
them in.
MEMORY GADGET
-------------
When this gadget is clicked another window will open and display
various information on any memory in the system. The first section
displayed will be the first memory section that was configured by
the system. At the bottom left of the display are two gadgets,
'NEXT' and 'EXIT'. The next gadget changes the display to show the
next memory section, until no more sections are found. At that time
the window will close and return to the next section. The exit gadget
exits immediately to the main screen.
SPEED COMPARISONS
-----------------
THE SPEED COMPARISON CODE HAS BEEN WRITTEN TO GIVE A FAIR INDICATION
OF THE SPEED OF A PARTICULAR AMIGA. IT USES A COMBINATION OF ALL
MOTOROLA INSTRUCTIONS TO BOTH REGISTERS AND MEMORY IN A PERCENTAGE
THAT POPULAR AMIGA PROGRAMS AND COMPILERS HAVE USED. IT LOOPS 5000
TIMES. IT HAS BEEN CODED SO THAT IT WILL NOT ENTIRELY FIT IN CACHE
MEMORY, FORCING ACTUAL MEMORY READS.
The A500 STANDARD comparison is against a PAL A500 totally
unexpanded (ie. no Fast Ram).
The B2000 EXTRA RAM comparison is against a PAL B2000 Rev 4.4 with
a Microbotics 8-UP Fast Ram board fitted with 80ns DRAMS.
The GVP A3001 comparison is against a B2000 Rev 4.4 with a GVP A3001
acellerator card, using a clock speed of 28MHZ. All caches and
bursts on. The board also contained 4 megs of 32 bit wide, 80ns
nibble mode DRAM.
The A2620 comparison is against a standard A2500 with a A2620
card running at 14.3MHZ. All caches and bursts on.
The A3000 25MHZ comparison is against a standard A3000/25MHZ
with 4 Megs of 1MX4 SCRAMS 80ns 32 bit wide, and 2 Megs of CHIP.
Caches and bursts on except Data Burst (default under V2.0 V37+).
Ramsey mode was set at default, BURST ON and STATIC COLUMN OFF.
The A3000 with the 68040 25MHZ board from Progressive Peripherals
& Software. Comparisons were calculated from the '-t' information
given to me over the phone by them. I hope to have one of these
boards soon to do some more testing on, and I will give further
info in later versions.
IBM PC/XT compares your Amiga to a standard old IBM PC, such
as Norton Utilities did. Because the IBM world still use
this in their adverts, it allows you to compare your system
to the ones being advertised.
CPU MIPS (Million Instructions per Second) This test calculation
has been coded from all information I have been able to find
to date. It seems quite debatable how this is supposed to be
coded and I received different information from people. The final
results showed boards at or around their advertised speeds, so
I was happy with the routine. It does a very large loop performing
an instruction that takes an average number of CPU cycles, times
the loop then display the result. I CANNOT AND DO NOT GUARANTEE
ITS ACCURACY. Comments on this approach or a better one are most
welcome.
FPU MFLOPS (Million Floating Operations per Second) This test
calculation was similar to the above one, in that information
on the recognised way was very sketchy. If an Amiga does not
have an FPU, N/A will be shown in this field as any performance
test would be meaningless. The final code shown known boards
to be at or around thier advertised speeds. It does a very large
loop performing an instruction that takes an average number of
CPU cycles, times the loop then display the result. I CANNOT
AND DO NOT GUARANTEE ITS ACCURACY. If anyone has a better
routine for this I would be very interested.
CIA TIMER TEST
--------------
This is a test of the speed accuracy of the CIA (A) timer
in the Amiga. I have recently had enquiries by users that
their Amigas were showing very slow or very fast speeds on
SysInfo. Investigation showed that their CIA's were very
inaccurate for various reasons. On normal use you may not
even notice that there is anything wrong. Symptoms can show
system clock running fast or slow, SysInfo type programs show
wrong results.
A correctly working system will show 'PASSED' beside the
CIA ACCURACY string and '0' beside the TICKS PER SECOND string
else if there is a problem it will show the number of ticks per
second the inaccuracy is.
The most common cause I have seen for inaccuracy on a B2000 is a
noisy power supply. This can be corrected by changing J300 jumper
(toward the rear right of the mother board (under the power supply))
to connect to the right set of the three pins. This will change
the system tick to the VBLANK connection and correct the inaccuracy.
FREE MEMORY
-----------
This shows the amount of free memory as if the program is not
running so may not be accurate to the byte, but is a very close
indication of the free pool.
The TOTAL MEMORY is the total amount of memory that the Exec
memory list reports. Tests have showed that this figure is
around 800 odd bytes short of actual. This is because the
amount of memory that exec takes itself never gets added to
this list.
RAM SPEED vs CHIP is a calculated performance test of your
CHIP RAM vs your PUBLIC RAM. The result is shown as a
percentage increase in the speed of the PUBLIC RAM. If no
FAST or SLOW ram is available then the result will be around
0%, and this figure can change depending on CHIP ram usage at
the time. This figure cannot be used as a speed comparison
between machines. For example the A3000 Chip ram is around
4.5 times the speed of an A2000's CHIP with a 68030 board
installed. Therefore the A3000's Fast ram will not show a
comparable increase to the A2000. It was mainly designed
to test the difference between fast ram cards or chips on
the same unit.
HARDWARE CLOCK only looks for the standard 2000, 500 or 3000
Hardware clock. It does not look for the multitude of different
clocks that were available for the 1000.
INTERNAL HARDWARE
-----------------
This shows internal harware as the program has found it.
ECS stands for ENHANCED CHIP SET. If Agnus or Denise show
this then they are the lastest custom chips. The number that
is shown in brackets is the actual chip number, this helps in
physical identification of the chips. The program is also
able to tell the difference between the 1MB & 2MB versions
of Super Agnus. Many users have queried the possibility of
doing this and beleive I check the memory amount. The 1MB and
the 2MB Agnus chips do not have any different signature registers
so in order to tell them apart I used a quirk of the way the
Amiga is designed. The 1MB Agnus only decodes the first meg
space and so the second meg space has a 'ghost' image of the
first. A 2MB agnus does decode the second meg space so no
ghost image is present. SysInfo checks for this a reports
the difference. This theory I beleive is quite sound, and was
tested on as many A3000's as I could find. I cannot guarantee
it on all Amiga's and would be very interested to know if
it is failing on any system.
CPU's 68000, 68010, 68020, 68030 and 68040 are supported
and will be displayed if found. If Exec is incorrect then
it is modified to reflect the correct hardware.
FPU's or Floating Point Units 68881 and 68882 and internal 68040
are supported and will be displayed if found. These chips are
also often referred to as maths co-processors. Wether or not you
have one is tested by the program, and Exec changed if incorrect.
MMU's or Memory Management Units 68851 or the internal 68030 and
68040 are supported. These are actually tested for as Exec does not
carry this info. The 68451 never became very popular so is not
supported.
SPEED IN MHZ is a rough indication of the clock speed. This is
not totally accurate but is a good indication. It at least allows
you to know wether your system is 7MHZ, 16MHZ or 25MHZ etc.
All caches, bursts and copyback modes are temporarily enabled during
the test for greater stability, but this should be transparent to
the user and they will be returned to their original state after the
tests. Clock Speed is normally difficult to find out unless you
take the unit apart and even then is difficult. Fast ram must be
available for this to be anywhere near accurate, as the timing loops
were all based on machines with some Fast ram available. It is
interesting though to disable fast ram and see the performace drop
in this figure. This is not true for a 68000 based Amiga, the program
will take into account if no fast ram is available and calculate
accordingly.
WR.ALLOC or Write Allocation is only applicable to 68030 and 68040
processors. This shows if it is currently enabled or disabled.
When enabled (always in an A3000) the processor updates the data
cache on cachable writes.
COPYBACK is only applicable to the 68040. This shows if it is
currently enabled or disabled.
INS. CACHE or Instruction Cache is applicable to 68020, 68030 and
68040 processors. This shows if it is currently enabled or
disabled. This bit can be manipulated with SetCpu.
INS. BURST or Instruction Burst is applicable to 68020, 68030 and
68040 processors. This shows if it is currently enabled or
disabled. This bit can be manipulated with SetCpu.
DAT. CACHE or Data Cache is only applicable to 68030 and 68040
processors. This shows if it is currently enabled or disabled.
This bit can be manipulated with SetCpu.
DAT. BURST or Data Burst is only applicable to 68030 and 68040
processors. This shows if it is currently enabled or disabled.
This bit can be manipulated with SetCpu.
THINGS I WOULD LIKE TO ADD
--------------------------
1. Ability to check Amiga model (A1000, A500, A2000) is it possible?
It is on the A3000 because of its specific hardware.
2. Ability to split the XT and AT bridgeboard. Anyone
know how? Commodore used the same product numbers in the ROMS.
both are shown in 'boards' as XT.
3. Your ideas!
Any suggestions preferably in assembler but I can translate
C if I have to.
NOTE ON SPEED COMPARISONS
-------------------------
If you have any of the machines listed above, or even a totally
different configuration, run the program with -t option (eg. sysinfo -t )
then phone me with the resulting numbers that will be printed to the screen.
My phone number or fax is at the top of this file.
Happy Computing
Nic Wilson
Amiga, AutoConfig and AutoCongure are TradeMarks of Commodore Business Machines.